Method for exploitation of social networks to derive a location of employees

ABSTRACT

A method is provided for exploitation of a social network to derive a location of an employee in a corporation utilizing instant messaging or automatic telephone calls. A search request is received for a location of an employee. A social network or acquaintance list of the employee is looked up in a corporate database. A list of contacts of the employee is extracted from the social network or acquaintance list in the corporate database. The list of contacts is presented, in response to the search request. The list of contacts is polled to locate the employee via instant messaging and/or automatic telephone calls. The location of the employee is received, in response to polling the list of contacts. The list of contacts is alerted that the employee has been located.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application contains subject matter which is related to the subjectmatter of the following co-pending applications, each of which isassigned to the same assignee as this application, InternationalBusiness Machines Corporation of Armonk, N.Y. Each of the below listedapplications is hereby incorporated herein by reference in its entirety:METHOD FOR EXPLOITATION OF LOCATION PROXIMITY TO DERIVE A LOCATION OFEMPLOYEES UTILIZING INSTANT MESSAGING, filed Dec. 6, 2007, applicationSer. No. 11/951,701, Attorney Docket No. CAM920070174US1.

TRADEMARKS

IBM® is a registered trademark of International Business MachinesCorporation, Armonk, N.Y. U.S.A. Other names used herein may beregistered trademarks, trademarks or product names of InternationalBusiness Machines Corporation or other companies.

TECHNICAL FIELD

This invention relates to techniques for locating individuals, andparticularly to indirect location of individuals through a third party.

DESCRIPTION OF BACKGROUND

Instant messaging has been a prevalent way of communicating andcollaborating with peers around the world. Often the challenge existswhen an instant messaging (IM) partner is not available on an instantmessaging system (such as Lotus Sametime®, AOL instant messenger (AIM),or Yahoo Messenger), or the person may not be available via telephone,cellular telephone, short message service (SMS), email, pager, etc.Situations often arise where employees may need to be contactedimmediately, e.g. for a crisis, to inform him or her of an urgent familymatter, to prompt an individual to attend a meeting that he or she hasaccepted but inadvertently neglected attend. If the participant cannotbe reached via IM, phone, email, or SMS, inefficiency may result fromtime lost in either not completing the task at hand on time orrescheduling the meeting to a different time. This is especially thecase if the absent person is a primary/mandatory attendee. Likewise,time is wasted by other participants who arrive on time for the meetingor eMeeting.

It would be beneficial to have techniques to prevent or resolve issuesrelated to individuals who may be absent or missing from engagements.

SUMMARY

A method is provided for exploitation of a social network to derive alocation of an employee in a corporation utilizing instant messaging orautomatic telephone calls in accordance with exemplary embodiments. Asearch request is received for a location of an employee. A socialnetwork or acquaintance list of the employee is looked up in a corporatedatabase. A list of contacts of the employee is extracted from thesocial network or acquaintance list in the corporate database. The listof contacts is presented, in response to the search request. The list ofcontacts is polled to locate the employee via instant messaging and/orautomatic telephone calls. The location of the employee is received, inresponse to polling the list of contacts. The list of contacts isalerted that the employee has been located.

Additional features and advantages are realized through the techniquesof the exemplary embodiments. Exemplary embodiments are described indetail herein and are considered a part of the claimed invention. For abetter understanding of the invention with advantages and features,refer to the description and to the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter which is regarded as the invention is particularlypointed out and distinctly claimed in the claims at the conclusion ofthe specification. The foregoing and other features of the exemplaryembodiments are apparent from the following detailed description takenin conjunction with the accompanying drawings in which:

FIG. 1 illustrates a system for exploiting location proximity to derivea desired response, e.g., utilizing instant messaging (IM) and/ortelephone calls, in accordance with exemplary embodiments;

FIG. 2 illustrates a method for exploiting location proximity to derivea desired response in accordance with exemplary embodiments;

FIG. 3 illustrates an example of a computer in which exemplaryembodiments may be incorporated;

FIG. 4 illustrates a system for exploiting a social network of anemployee in accordance with exemplary embodiments; and

FIG. 5 illustrates a method for exploitation of a socialnetwork/acquaintance list of an employee to derive a location of anemployee in a corporation in accordance with exemplary embodiments.

The detailed description explains exemplary embodiments, together withadvantages and features, by way of example with reference to thedrawings.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

Exemplary embodiments provide techniques for indirect location of anindividual through a third party. Often, having the knowledge of whosits nearby an individual is sufficient to locate the individual, wherean intermediate can act as a proxy who can in turn alert the individualto an urgent action in accordance with exemplary embodiments. Exemplaryembodiments build a system and provide methods to facilitate thisknowledge. Furthermore, exemplary embodiments utilize this knowledge toexploit the social network metaphor as it applies to the individual.

Typically, individuals work in an office environment and at a desk.Usually, the desks are numbered and the numbering is sequential. Thenumbering is most likely done in an organized way. Also, each employeehas a designation in terms of a desk number, telephone, office location,extension, etc. In general, this information may be housed in adatabase. For example, in many cases this information may reside insystems, applications, and products of a data processing system (e.g.,in an employee record) or in a corporate directory. Also, thisinformation may reside in an enterprise resource planning software suchas SAP/Peoplesoft.

In accordance with an exemplary embodiment, a user may employ indirectlocation of an employee through a third party by performing a lookup ona corporate directory (e.g., LDAP) and extracting the desk number forthis employee being searched (or extracting this from a SAP system byinterrogating the employee's record). A search is then executed againstthe relevant database(s) for the nearest neighbors that satisfy certainparameters (e.g., being within a particular proximity of the employeebeing searched for). Once satisfied, a user interface may be presentedthat lists the names of the nearest neighbors, with real-time presenceawareness that allows the user to instant message (IM) these neighbors.Also, in exemplary embodiments, an urgent request to contact anindividual can target (via broadcast) all of the individual's nearestneighbors. Accompanying the broadcast is some knowledge (which may beuser configurable) that describes the reason the neighbors are beingasked to help locate this individual (employee). The broadcast may beconfigured to allow the recipient (e.g., the nearest neighbors) to knowthat others have also been polled, or indeed configured to simulate a1:1 request. Further, in exemplary embodiments, a multi-party IM may bebroadcast based on location proximity that gets answered with thedesired outcome (e.g., one person locates and contacts the employee inquestion), and the multi-party IM provides the ability for a responsefrom the successful neighbor to be propagated to all neighbors polled,thereby eliminating the need for others to continue helping.

FIG. 1 illustrates a system 100 for exploiting location proximity toderive a desired response utilizing, e.g., instant messaging (IM) inaccordance with exemplary embodiments. As a non-limiting example, aperson utilizing a client application 105 residing on a communicationdevice 110 may be looking for John. John's office may be located withinor near a plurality of workspaces 115, and the workspaces 115 are withinsome proximity to the workspace of John. Each of the workspaces 115includes a device for communicating (that may be the same or similar tothe communication device 110) which is designated for clarity as acommunication device 110 a, communication device 110 b, communicationdevice 110 c, and communication device 110 d. The communication device110 a represents the device used by John in John's office. The othercommunication devices 110 b, 110 c, 110 d are used, e.g., by coworkersof John who are neighboring John in their respective workspaces 115, andthe coworkers who neighbor John may be Bob, Cay, and Don, respectively.The communication devices 110 a, 110 b, 110 c, 110 d each contain theclient application 105.

The communication devices 110, 110 a, 110 b, 110 c, 110 d communicatewith each other and with one or more servers 130 coupled to one or morestorage devices 135 via one or more networks 120. A server application140 resides on the server 130. The server application 140 and the clientapplication 105 interact and share responsibilities for implementingoperations in accordance with exemplary embodiments.

The network 120 may include circuit-switched and/or packet-switchedtechnologies and devices, such as routers, switches, hubs, gateways,etc., for facilitating communications among the communication devices110, 110 a, 110 b, 110 c, 110 d, and the server 130. The network 120 mayinclude wireline and/or wireless components utilizing, e.g., IEEE 802.11standards for providing over-the-air transmissions of communications,The network 120 can be an Internet protocol based network forcommunication thereon.

Also, the network 120 may include wireline and/or wireless componentsutilizing standards for, e.g., multimedia messaging services (MMS) suchas instant messaging services. The network 120 may include a multimediamessaging center (MMC) which implements the network side of multimediamessaging service (MMS), and makes it possible for a network operator tooffer multimedia (e.g., instant) messaging to the end users. The MMC isa highly flexible system, which can be adapted to the needs of theoperator and the particular end users involved (such as users of thecommunication devices 110, 110 a, 110 b, 110 c, 110 d.

In accordance with exemplary embodiments, the network 120 can berepresentative of numerous networks. For example, the network 120 mayinclude and/or access the Internet, and the network 120 may include anintranet that has restricted access for employees.

In accordance with exemplary embodiments, a person (e.g., a searcher)looking for an individual (e.g., John) can input a request, such as“show me nearest neighbors” of John, in the client application 105 ofthe communication device 110. Associated with this functionality ofrequesting “show me nearest neighbors” may be parameters in the clientapplication 105 which allow the person to configure, e.g., thedefinition of the nearest neighbors to be “within N desks away.” In theclient application 105, additional parameters may include, e.g., “refinelist to neighbors who are online”, “refine list to neighbors who arepart of her team”, etc.

In exemplary embodiments, when a person (e.g., using the communicationdevice 110) performs a search for an employee on the client application105, the client application 105 may interact with (or causes) the serverapplication 140 to perform a look up in the server 130 and/or thestorage device 135, and the client application 105 (or serverapplication 140) may extract, e.g., the desk number or extension forthis employee (i.e., John) as a result of the look up. In exemplaryembodiments, the employee's desk number may be used by the clientapplication 105 (or server application 140) to extract neighbors of theemployee. The neighbors may be within N desks (offices) away from theemployee, on the same hall, etc. As a non-limiting example, thisinformation may be extracted from a SAP system by interrogating anemployee's record. As a non-limiting example, the look up may beperformed on a corporate directory utilizing a lightweight directoryaccess protocol (LDAP).

Using the client application 105, a search is executed against therelevant database (e.g., on the server 130 or storage device 135) forthe nearest neighbors that satisfy the parameters discussed in exemplaryembodiments. In response to the search for the nearest neighbors, a userinterface of the client application 105 presents a list of names of theneighbors, with real time presence awareness that allows the user to IMthese neighbors. As a non-limiting example, the client application 105may indicate that the nearest neighbors are coworkers who utilize thecommunication devices 110 b, 110 c, 110 d. As a non-limiting example,Bob may use the communication device 110 b, Cay may use thecommunication device 110 c, and Don may use the communication device 110d. The client application 105 has IM capabilities (or may interact witha client application having IM capabilities) and can recognize if eachof the neighbors Bob, Cay, and Don are present. In exemplaryembodiments, a separate or different IM application may be used and theIM application can recognize which of John's neighbors are present. Inexemplary embodiments, once the list of neighbors is generated, theclient application 105 can automatically transmit instant messages toeach of the neighbors asking for help in locating John.

Although workspaces 115 illustrate four different offices (or cubicles),the illustration of workspaces 115 is not meant to be limiting in anyway and is provided for explanatory purposes. It is understood that theproximity of John relative to his coworkers may be greater or smallerthan depicted in FIG. 1. Also, it is understood that scenarios with Johnis provided as non-limiting examples in accordance with exemplaryembodiments, and any individual can be searched for and located usingthe methods and systems discussed herein.

In exemplary embodiments, an urgent request to contact an individual(John) can target (via broadcast) all of the individual's nearestneighbors. Accompanying the broadcast is some knowledge (userconfigurable) that describes the reason they are being asked to helplocate this individual. The broadcast can be configured to allow therecipient (e.g., the coworkers) to know that others have also beenpolled or configured to simulate a 1:1 request. The client application105 (in conjunction with the server application 140) can be used tobroadcast the urgent requests to the coworkers to locate the individualvia the network 120.

In exemplary embodiments, a response from the successful neighbor wholocates the individual can be propagated to all neighbors polled,thereby eliminating the need for others to continue helping. As anon-limiting example, a multiparty IM broadcast may be transmitted fromthe person who locates and contacts the individual in question (i.e.,John), so that others can stop looking.

Further, in accordance with exemplary embodiments, an individual'ssocial network may be used to populate a list of neighbors under acategory, e.g., “John's primary social network.” John's primary socialnetwork is a list that is motivated by activity on John's side (e.g.,emails sent and received by John, instant messages sent and received byJohn, web conferences (WCs), calendar events for John, etc.) and allowsa remote person to establish and access John's social network, which canthen be exploited. As a non-limiting example, John's primary socialnetwork may include people that John personally interacts with outsideof work. John's primary social network may include people from anexternal social network such as MySpace or Facebook.

In exemplary embodiments, a look up on the social network may beperformed to extract a collection of people who are closelyassociated/connected with the person being searched (i.e., John). Inthis exemplary embodiment, the person's social network is used topopulate a list of neighbors under a category, e.g., “John's primarysocial network”. Such a list is motivated by activity on the side of theperson (John) being searched for (e.g., email, IM, WCs, calendar events)and allows a remote user to establish the person's social network, whichcan then be exploited. In exemplary embodiments, developing the socialnetwork may involve populating the social network via an integrationwith other applications like Facebook, Myspace, etc. The social networkwill be populated by identifying people, who are tightly connected withthe person being searched, in other social networking applications (suchas, Gmail, Myspace, etc.), and an automatic note will be sent to thosepeople or a message will be posted in their space (e.g., MySpace) withthis search request. Likewise, when a search request is answered, afollow on note is transmitted to the same social network to inform thatthe search is complete and to eliminate the need for others to continuehelping.

FIG. 4 illustrates a system 400 for exploiting the social network of anemployee in accordance with exemplary embodiments. A searcher utilizingthe client application 105 on the communication device 110 may input arequest to the server 130 to locate an employee (e.g., John). The serverapplication 140 performs a look up on the server 130 (and/or in thestorage device 135) for John's social network. The list of names (andcorresponding contact information) in John's social network is extractedby the server application 140, and the list of names is provided to thesearcher via a user interface on the client application 105. Thesearcher can elect to send a message (place a telephone call or includea note in the contact's space) via the client application 105 requestinghelp to locate John to all or selected ones on the list of names inJohn's social network. As discussed herein, the list of names in John'ssocial network may include names of other employees and names of thosewho are not employees (such as friends or relatives).

In exemplary embodiments, there are many ways to develop and populatethe social network for the employee John. For example, John may inputnames and contact information to be included in his social network, andthe list is stored on the server 130. John my also provide access toexternal social networking systems, such as external social networks410. The external social networks 410 are representative of a pluralityof social networks and the necessary hardware and software forimplementing the respective external social networks 410. John mayprovide usernames, access codes, passwords, etc., which can be used toaccess data, such as names and contact information of friends andfamily, associated with the external social networks 410, so that thesearcher can (e.g., in an emergency) contact the friends and family forassistance in locating John. This collective information may be used todevelop John's social network that is stored on the server 130.

Also, according to exemplary embodiments, the server application 140 mayparse server 420 for information relating to John. The server 420 may bea work email sever or a work telephone server. The server application140 may select contacts that are regularly emailed and called by John toinclude in John's social network. For example, the server application140 may have predefined parameters for selecting a person that Johnemails on average a certain amount (e.g., greater than 3) of times perweek (or per month) to include in the list of John's social network.Likewise, the sever application 140 may select numbers that John callson average three or more times per week to include in the list forJohn's social network. It is contemplated that various thresholds may beutilized to determine if a particular contact should be included in theJohn's social network stored on the server 130. For example, the serverapplication 140 may be set to exclude contacts for numbers or emailsthat are recognized as employees of the company or that are recognizedas business related, because the server application 140 may be set toselect personal contacts. Moreover, the manner in which contacts areselected by the server application 140 to be added to the list for thesocial network is not meant to be limiting, and examples are providedfor explanatory purposes.

Further, the server application 140 may exploit John's connectivity tothe external social networks 410, e.g., using a snooping program, sothat contacts can be determined by John's interconnectivity to theexternal social networks 410. For example, when John is using thecommunication device 110 a, the server application 140 may observeJohn's connection to a respective one of the external social networks410 and snoop to collect information related to contacts (people thatJohn communicates with) of the external social network 410. Thesecontacts discovered from exploiting (snooping on) John's connectivity tothe external social networks 410 may be added to the John's socialnetwork stored on the server 130. There are many functions andconfigurations to snooping type programs, which are understood by thoseskilled in the art.

Additionally, in exemplary embodiments, individuals (such as John) areable to specify an acquaintance list, which is a user defined preferenceassociated with John's instant messaging client (e.g., the clientapplication 105). The acquaintance list may reside on the server 130and/or storage device 135 and can be exploited using techniquesdiscussed herein. The user defined acquaintance list may be set tooverride the other three types of categories defined above, such asLDAP, proximity, or social network. Once the acquaintance list or anyother list is specified as having priority, the acquaintance list or theother list is provided to users who poll for “the nearest neighbors.”When the names (and/or extensions, desk numbers, telephone numbers,etc.,) of the nearest neighbors are returned, the acquaintance listfloats to the top of any names of neighbors provided and may bedesignated under a category titled “John's preferred acquaintance”. Theusers who are given permission to access this “acquaintance list” can bemodified by an individual (i.e., John), or the default could be set toall users who are part of the same organization as the individual.

Also, in exemplary embodiments, a taxonomy may be associated with theacquaintance list, where the taxonomy is user defined. As a non-limitingexample, the taxonomy may read, “For family emergencies please contactJoe.” For family emergencies, a group of names (and related contactinformation) may be provided. As non-limiting examples, the taxonomy mayread, “For work emergencies please contact Mary, Ann, and Michael.”

In accordance with exemplary embodiments, this collective knowledge(which includes the various location techniques, systems, and collectionof information) can be used to locate an individual (e.g., John) in caseof an emergency, resolving a critical issue, meeting participation, orany need for communication by, e.g., right clicking on the individual onthe client application 105 or via phone application. This knowledge basecan be used for communicating with the individual when the individual ismissing, if the individual is not available temporarily (i.e., do notdisturb), or in case of a family emergency.

FIG. 2 illustrates a method for exploitation of location proximity toderive a location of an employee (e.g., John) in a corporation utilizinginstant messaging or automatic telephone calls in accordance withexemplary embodiments.

A search request for a location of an employee is received by the clientapplication 105 at 200. As a non-limiting example, the search requestmay be input to find John because John is late for a meeting, and Johncannot be reached at his communication device 110 a nor his telephone145 a. The server application 140 may perform a look up of a pluralityof coworkers of the employee (John) in a corporate database (such as thestorage device 135) at 210.

In exemplary embodiments, a list of neighbors of the employee John isextracted by the server application 140 from the plurality of coworkersin the corporate database, and the list of neighbors of the employee isgenerated (e.g., by the client application 105 or the server application140) in accordance with the proximity of neighbors (in the list ofneighbors) to a workspace of the employee John at 220. In exemplaryembodiments, the server application 140 (or the client application 105)may search corporate files stored on the server 130 and/or the storagedevice 135 to locate coworkers who are within a certain proximity to theemployee. During the search request, a parameter in the clientapplication 105 may be set so that coworkers who are, e.g., within Ndesks away may be included in the list of neighbors. Also, a parameterin the client application 105 may be set so that coworkers who are onthe same or nearby hall, in the same or nearby cubicle, and/or on thesame or nearby wing and floor may be included in the list of neighbors.Additionally, a parameter in the client application 105 may be set toinclude coworkers are in the same work group (e.g., research anddevelopment of new product lines) as the employee.

The client application 105 presents the list of neighbors on thecommunication device 110, in response to the search request by theperson at 230.

The list of neighbors is polled via instant messaging and automatictelephone calls to locate the employee at 240. The person who made thesearch request may select the neighbors of the list on the clientapplication 105 to poll, or the client application 105 may automaticallypoll everyone in the generated list of neighbors on behalf of the personmaking the search request. As a non-limiting example, the person whorequested the search may chose to remove some of the coworkers from thelist of neighbors, because the person may know, e.g., that thosecoworkers are absent. In exemplary embodiments, the client application105 may automatically send messages to the entire list of neighborswithout the person removing any coworkers.

In exemplary embodiments, polling the list of neighbors may beaccomplished via instant messaging and/or automatic telephone calls. Theperson who made the search request may input a message (text and/orvoice) in the client application 105 of the communication device 110requesting the location of the employee, and the message is transmittedto each neighbor in the list of neighbors. As a non-limiting example,the person who made the search request using the communication device110 may input a text message “Please find John and contact me” in theclient application 105, and the client application 105 may transmit themessage via instant messaging to the people of the list of neighbors(e.g., the message may be sent to the communication devices 110 b, 110c, 110 d). In exemplary embodiments, the person who made the searchrequest can use the communication device 110 and/or the telephone 145 toinput/record a voice message. As a non-limiting example, the voicemessage “Please find John and contact me” may be input/recorded using amicrophone (not shown) in the client application 105. Also, the voicemessage may be recorded using the telephone 145 and the voice messagecan be received by the client application 105 and transmitted to thetelephones 145 b, 145 c, 145 d of the neighbors. The client application105 (or another application) may include capabilities for voice overInternet protocol (VoIP), the client application 105 may includecapabilities for telephony or be connected to equipment withcapabilities for telephony, and the client application 105 may transmitthe recorded voice message to the list of neighbors. As a non-limitingexample, the voice message may be transmitted to the communicationdevices 110 b, 110 c, 110 d or to the telephones 140 b, 140 c, 140 d, sothat the list of neighbors can assist in locating the employee.

In response to polling the list of neighbors, the location of theemployee can be received by the person requesting the search at 250. Asa non-limiting example, one of the neighbors (e.g., Cay on thecommunication device 110 c or on the telephone 140 c) may respond backwith an instant message (or voice message) “I have found John.” Theinstant message or voice message may be respectively received on thecommunication device 110 or the telephone 104 by the person who made thesearch request. The neighbors may be alerted that the employee (John)has been located and there is no need to continue their search at 260.As a non-limiting example, the neighbor who located John may transmit aglobal instant message, “I have found John,” to the other neighbors onthe list. As another example, the person who made the search request maytransmit an instant message on the communication device 110 indicatingthat John has been located, and the neighbors can cease searching forJohn.

In exemplary embodiments, the corporate database may include alightweight directory access protocol (LDAP) database that comprises anorganization of the coworkers. In the corporate database (e.g., thestorage device 135), the LDAP database also includes the relativeproximity of the coworkers (including John) to each other. Thisproximity may be in terms of desk numbers, office numbers, cubiclenumbers, bay numbers, wings of floor, halls on a floor, organizationgroups (such as the research and development group for new products),floors of a building, etc.

Also, in exemplary embodiments, the corporate database may include anacquaintance list database that is defined by the employee. Theacquaintance list database may contain certain coworkers selected by theemployee (John). As a non-limiting example, the coworkers on theacquaintance list may be coworkers that John regularly works with (e.g.,on projects), coworkers that John goes to lunch with, coworkers thatJohn frequently associates with, and the like. John may enter the names(and contact data) for these coworkers in the client application 105residing the on communication device 110 a. The various names input byJohn in the client application 105 can be included in the acquaintancelist database and stored, e.g., on the server 130 and/or storage device135.

In exemplary embodiments, the acquaintance list database may alsoinclude non-coworkers input by the employee (John). John may include thecontact data of various people who may not be coworkers but the peoplemay be able to provide the location of John, and/or contact John. Asnon-limiting examples, in the acquaintance list database, John mayinclude the contact data for his wife, best friend, mother, sister, orothers, and they may be contacted in case of an emergency.

In accordance with exemplary embodiments, the various processes andmethods may be automated. As a non-limiting example, the person makingthe search request may select a search for employee field in the clientapplication 110 on the communication device 110 and input John's name inthe search for employee field. The client application 105 being incommunication with the server application 130 can look up neighbors(e.g., coworkers within proximity of John's workspace) in the corporatedatabase that may be stored on the server 130 and/or the storage device135. The server application 140 may extract and/or generate the list ofneighbors in accordance with the proximity of the coworkers to theworkspace of John. The client application 105 may present the list ofneighbors on to the person making the request. The client application105 polls the list of neighbors by asking the neighbors to locate John.The client application 105 may use instant messaging to poll (ask) theneighbors about the location of John. For example, the clientapplication 105 may send a standard text message “Please find John andcontact me” to each of the neighbors on their respective communicationsdevices 110 b, 110 c, 110 d. The client application 105 present anyresponse received from the neighbors to the person on the communicationdevice 110. If desired, after initially making the search request, theperson can wait to receive responses. Also, the person may deselect somenames from the list of neighbors, e.g., if he or she knows that one ofthe neighbors is not at his desk.

Referring to FIG. 5, FIG. 5 illustrates a method for exploitation of thesocial network/acquaintance list of an employee to derive a location ofan employee in a corporation in accordance with exemplary embodiments.

The client application 105 may receive a search request for a locationof an employee at 500. The server application 140 looks up the socialnetwork and/or acquaintance list of the employee in a corporate database(for example on the server 130) at 510. The server application 140extracts a list of contacts of the employee from the social networkand/or acquaintance list in the database at 520. The client application105 presents the list of contacts at 530. The client application 105 isconfigured to poll the list of contacts to locate the employee viainstant messaging and/or telephone calls at 540. In response to thesearch request, the location of the employee is received, e.g., on thecommunication device 110 or the telephone 145 at 550. The searcher canalert the contacts that the employee has been located at 560.

As discussed herein, the corporate database may include an acquaintancelist database (residing on the server 130) that is defined by theemployee. The acquaintance list database may include selected ones of aplurality of coworkers input by the employee and/or non-coworkers inputby the employee. Also, the corporate database may include a socialnetwork database (residing on the server 130) that includes input fromexternal social networking entities, such as the external socialnetworks 410, and input extracted from emails and telephone calls (e.g.,on the server 420) to and from the employee.

In accordance with exemplary embodiments, the polling of the list ofcontacts via instant messaging and/or automatic telephone calls mayinclude the client application 105 receiving input of a messagerequesting the location of the employee, such that the message istransmitted to each contact in the list of contacts or to selectedcontacts in the list. The polling may include receiving input of a voicemessage requesting the location of the employee, such that the voicemessage (via the client application 105 or the telephone 145) istransmitted to each contact in the list of contacts or to selectedcontacts.

In accordance with exemplary embodiments, it is understood thatresponsibilities may be shared between the client application 105 andthe server application 140. Also, it is contemplated that someresponsibilities designated herein to the client application 105 or theserver application 140 may be performed by the other. Furthermore,exemplary embodiments are capable of being implemented in aclient-server architecture (environment), and exemplary embodimentscomprise the necessary hardware and software components to operate in aclient-server architecture (environment) as understood by one skilled inthe art. Indeed, the various descriptions provided herein are forexplanatory purposes and are not meant to be limiting in any manner.Furthermore, exemplary embodiments detailed herein may be implementedon, e.g., a Lotus Sametime® platform.

Referring to FIG. 3, FIG. 3 illustrates an example of a computer 300having capabilities, which may be included in exemplary embodiments.Various methods and processes discussed above may utilize thecapabilities of the computer 300. One or more of the capabilities of thecomputer 300 may be incorporated in the communication devices 110, 110b, 110 c, 110 d, the network 120, the server 130, the server 420, and/orany element discussed herein.

The computer 300 includes, but is not limited to, PCs, workstations,laptops, PDAs, palm devices, servers, and the like. Generally, in termsof hardware architecture, the computer 300 may include one or moreprocessors 310, memory 320, and one or more input and/or output (I/O)devices 370 that are communicatively coupled via a beat interface (notshown). The local interface can be, for example but not limited to, oneor more buses or other wired or wireless connections, as is known in theart. The local interface may have additional elements, such ascontrollers, buffers (caches), drivers, repeaters, and receivers, toenable communications. Further, the local interface may include address,control, and/or data connections to enable appropriate communicationsamong the aforementioned components.

The processor 310 is a hardware device for executing software that canbe stored in the memory 320. The processor 310 can be virtually anycustom made or commercially available processor, a central processingunit (CPU), a data signal processor (DSP), or an auxiliary processoramong several processors associated with the computer 300, and theprocessor 310 may be a semiconductor based microprocessor (in the formof a microchip) or a macroprocessor.

The memory 320 can include any one or combination of volatile memoryelements (e.g., random access memory (RAM), such as dynamic randomaccess memory (DRAM), static random access memory (SRAM), etc.,) andnonvolatile memory elements (e.g., ROM, erasable programmable read onlymemory (EPROM), electronically erasable programmable read only memory(EEPROM), programmable read only memory (PROM), tape, compact disc readonly memory (CD-ROM), disk, diskette, cartridge, cassette or the like,etc.). Moreover, the memory 320 may incorporate electronic, magnetic,optical, and/or other types of storage media. Note that the memory 320can have a distributed architecture, where various components aresituated remote from one another, but can be accessed by the processor310.

The software in the memory 320 may include one or more separateprograms, each of which comprises an ordered listing of executableinstructions for implementing logical functions. The software in thememory 320 includes a suitable operating system (O/S) 350, compiler 340,source code 330, and an application 360 (which may be one or moreapplications) in accordance with exemplary embodiments. As illustrated,the application 360 comprises numerous functional components forimplementing the features and operations of the exemplary embodiments.The application 360 of the computer 300 may represent the variousapplications referred to herein, but the application 360 is not meant tobe a limitation. The operating system 350 essentially controls theexecution of other computer programs, and provides scheduling,input-output control, file and data management, memory management, andcommunication control and related services.

The application 360 may be a source program, executable program (objectcode), script, or any other entity comprising a set of instructions tobe performed. When a source program, then the program is usuallytranslated via a compiler (such as the compiler 340), assembler,interpreter, or the like, which may or may not be included within, thememory 320, so as to operate properly in connection with the O/S 350.Furthermore, the application 360 can be written as (a) an objectoriented programming language, which has classes of data and methods, or(b) a procedure programming language, which has routines, subroutines,and/or functions, for example but not limited to, C, C++, C#, Pascal,BASIC, API calls, HTML, XHTML, XML, ASP scripts, FORTRAN, COBOL, Perl,Java, ADA, .NET, and the like.

The I/O devices 370 may include input devices such as, for example butnot limited to, a mouse, keyboard, scanner, microphone, camera, etc.Furthermore, the I/O devices 370 may also include output devices, forexample but not limited to, a printer, display, etc. Finally, the I/Odevices 370 may further include devices that communicate both inputs andoutputs, for instance but not limited to, a NIC or modulator/demodulator(for accessing remote devices, other files, devices, systems, or anetwork), a radio frequency (RF) or other transceiver, a telephonicinterface, a bridge, a router, etc. The I/O devices 370 also includecomponents for communicating over various networks, such at theInternet, a WiFi network, a PAN, the PSTN, the network 120, and thelike.

If the computer 300 is a PC, workstation, intelligent device or thelike, the software in the memory 320 may further include a basic inputoutput system (BIOS) (omitted for simplicity). The BIOS is a set ofessential software routines that initialize and test hardware atstartup, start the O/S 350, and support the transfer of data among thehardware devices. The BIOS is stored in some type of read-only-memory,such as ROM, PROM, EPROM, EEPROM or the like, so that the BIOS can beexecuted when the computer 300 is activated.

When the computer 300 is in operation, the processor 310 is configuredto execute software stored within the memory 320, to communicate data toand from the memory 320, and to generally control operations of thecomputer 300 pursuant to the software. The application 360 and the O/S350 are read, in whole or in part, by the processor 310, perhapsbuffered within the processor 310, and then executed.

It is understood that the computer 300 includes non-limiting examples ofsoftware and hardware components that may be included in various devicesand systems discussed herein, and it is understood that additionalsoftware and hardware components may be included in the various devicesand systems discussed in exemplary embodiments.

The capabilities of the present invention can be implemented insoftware, firmware, hardware or some combination thereof.

As one example, one or more aspects of the present invention can beincluded in an article of manufacture (e.g., one or more computerprogram products) having, for instance, computer usable media. The mediahas embodied therein, for instance, computer readable program code meansfor providing and facilitating the capabilities of the presentinvention. The article of manufacture can be included as a part of acomputer system or sold separately.

Additionally, at least one program storage device readable by a machine,tangibly embodying at least one program of instructions executable bythe machine to perform the capabilities of the present invention can beprovided.

The flow diagrams depicted herein are just examples. There may be manyvariations to these diagrams or the steps (or operations) describedtherein without departing from the spirit of the invention. Forinstance, the steps may be performed in a differing order, or steps maybe added, deleted or modified. All of these variations are considered apart of the claimed invention.

While exemplary embodiments to the invention have been described, itwill be understood that those skilled in the art, both now and in thefuture, may make various improvements and enhancements which fall withinthe scope of the claims which follow. These claims should be construedto maintain the proper protection for the invention first described.

1. A method for exploitation of a social network to derive a location ofan employee in a corporation utilizing instant messaging or automatictelephone calls, comprising: receiving a search request for a locationof an employee; looking up a social network or acquaintance list of theemployee in a corporate database; extracting a list of contacts of theemployee from the social network or acquaintance list in the corporatedatabase; presenting the list of contacts, in response to the searchrequest; polling the list of contacts to locate the employee via atleast one of instant messaging and automatic telephone calls; receivingthe location of the employee, in response to polling the list ofcontacts; and alerting the list of contacts that the employee has beenlocated.
 2. The method of claim 1, wherein the corporate databasecomprises at least one of: an acquaintance list database that is definedby the employee, the acquaintance list database comprising: selectedones of a plurality of coworkers input by the employee; andnon-coworkers input by the employee; and a social network database thatcomprises: input extracted from external social networking entities; andinput extracted from emails, instant messages, or telephone calls to andfrom the employee.
 3. The method of claim 1, wherein the polling of thelist of contacts via the at least one of instant messaging and automatictelephone calls comprises at least one of: receiving input of a messagerequesting the location of the employee, wherein the message istransmitted to each contact in the list of contacts; and receiving inputof a voice message requesting the location of the employee, wherein thevoice message is transmitted to each contact in the list of contacts. 4.The method of claim 2, wherein the input extracted from the externalsocial networking entities for the social network database is extractedby at least one of: receiving login information to the external socialnetworking entities corresponding to the employee and accessing theexternal social networking entities to obtain contacts for the list ofcontacts; and snooping on the employee's communication connections tothe external social networking entities to obtain contacts for the listof contacts.
 5. The method of claim 2, wherein the input extracted fromemails, instant messages, or telephone calls to and from the employeefor the social network database is extracted by: checking for apredetermined number of communications from emails, instant messages, ortelephone calls to and from the employee; and in response to thepredetermined number of communications being met for emails, instantmessages, or telephone calls, adding contacts to the list of contactsthat correspond to the emails, instant messages, or telephone calls.